package com.dao;

import com.core.BaseDao;
import com.entity.model.Bill;
import com.entity.vo.BillListVO;
import com.util.webpage.PageData;
import org.apache.ibatis.annotations.Param;

import java.security.KeyStore;
import java.util.List;
import java.util.Map;

public interface BillDao extends BaseDao<Bill> {
    List<BillListVO> findCustomerBill(PageData cond);

    void delExpiredBillByCustomerId(Map cond);

    BillListVO getBillDetail(@Param("billId") Integer billId);

    List<Bill> billList(PageData cond);

    List<Bill> vipBillList(PageData cond);

    List<Bill> commissionBillList(PageData cond);

    List<Bill> commissionUserBillList(PageData cond);

    Bill findCommissionBillListSum(PageData cond);

    BillListVO getTodayStatistics(@Param("parentCustomerId") Integer parentCustomerId,@Param("type") Integer type);

    BillListVO withdrawStatistics(@Param("parentCustomerId") Integer parentCustomerId,@Param("type") Integer type);

    void updateCommissionBill(@Param("parentCustomerId") Integer parentCustomerId,@Param("withdrawBillId") Integer withdrawBillId);

    void updateCommissionBillSuccess(@Param("withdrawBillId") Integer withdrawBillId);

    void updateCommissionBillFail(@Param("withdrawBillId") Integer withdrawBillId);

    List<Bill> bdStatisticsList(PageData cond);

    List<Bill> bdUserStatistics(PageData cond);
}
